package com.xwaiy.xwaiyrpc.model;

import com.xwaiy.xwaiyrpc.constant.RpcConstant;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * RPC 请求
 * @Author Xwaiy
 * @Date 2025/8/21 14:48
 **/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RpcRequest implements Serializable {

    /**
     * 方法名称
     */
    private String methodName;

    /**
     * 服务名称
     */
    private String serviceName;

    /**
     * 参数类型列表
     */
    private Class<?>[] paramTypes;

    /**
     * 参数列表
     */
    private Object[] params;

    /**
     * 服务版本
     */
    private String version = RpcConstant.DEFAULT_SERVICE_VERSION;
}
